package org.apache.dolphinscheduler.api.service;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.entity.UserAuthentication;
import org.springframework.web.multipart.MultipartFile;

import com.baomidou.mybatisplus.extension.service.IService;

public interface UserAuthenticationService extends IService<UserAuthentication> {

	List<UserAuthentication> queryAuthByUserId(Integer userId);
	
	Result<Object> addUserAuth(User loginUser, UserAuthentication userAuth);
	
	Result<Object> auditUserAuth(User loginUser, Integer userId, Integer authStatus, String remark);
	
	UserAuthentication getUserAuthentication(Integer userId, Integer authStatus);
	
	UserAuthentication getUserAuthById(Integer id);
	
	Result<Object> uploadFile(User loginUser, MultipartFile file);
	
	Result<Object> getFile(HttpServletResponse resp, String fileName);
	
	UserAuthentication getUserAuthenticationByStatus(Integer userId, Integer authStatus, Integer enterpriseAuditStatus);
	
}
